home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1992 June: ROMin Holiday / ADC Developer CD (1992-06) (''ROMin Holiday'')_iso / Developer Connection - 06-1992.iso / Developer Essentials / DTS Sample Code / System 7.0 Samples / DTS.Utilities / GestaltEqu31.h < prev    next >
Encoding:
C/C++ Source or Header  |  1991-01-30  |  11.5 KB  |  281 lines  |  [TEXT/MPS ]

  1. /************************************************************
  2.  
  3. Created: Friday, October 20, 1989 at 5:14 AM
  4.     GestaltEqu.h
  5.     C Interface to the Macintosh Libraries
  6.  
  7.  
  8.     Copyright Apple Computer, Inc.    1989-90
  9.     All rights reserved
  10.  
  11. ************************************************************/
  12.  
  13.  
  14. #ifndef __GESTALTEQU__
  15. #define __GESTALTEQU__
  16.  
  17. #ifndef REZ
  18.  
  19. #ifndef __TYPES__
  20. #include <Types.h>
  21. #endif
  22.  
  23. #ifdef __cplusplus
  24. extern "C" {
  25. #endif
  26.  
  27. pascal OSErr Gestalt( OSType selector, long *response );
  28. pascal OSErr NewGestalt( OSType selector, ProcPtr gestaltFunction );
  29. pascal OSErr ReplaceGestalt( OSType selector, ProcPtr gestaltFunction,
  30.     ProcPtr *oldGestaltFunction);
  31.  
  32.  
  33. #ifdef __cplusplus
  34. }
  35. #endif
  36.  
  37. #endif    /*REZ*/
  38.  
  39. /************************
  40.  *    Gestalt error codes
  41.  ************************/
  42. #define gestaltUnknownErr            -5550            /* value returned if Gestalt doesn't know the answer */
  43. #define gestaltUndefSelectorErr     -5551            /* undefined selector was passed to Gestalt */
  44. #define gestaltDupSelectorErr        -5552            /* tried to add an entry that already existed */
  45. #define gestaltLocationErr            -5553            /* gestalt function ptr wasn't in sysheap */
  46.     
  47. /**************************
  48.  *    Environment Selectors
  49.  **************************/
  50. #define gestaltVersion                'vers'            /* gestalt version */
  51.  
  52. #define gestaltAddressingModeAttr    'addr'            /* addressing mode attributes */
  53. #define gestalt32BitAddressing        0                /* using 32-bit addressing mode */
  54. #define gestalt32BitSysZone         1                /* 32-bit compatible system zone */
  55. #define gestalt32BitCapable         2                /* Machine is 32-bit capable */
  56.  
  57. #define gestaltAliasMgrAttr         'alis'            /* Alias Mgr Attributes */
  58. #define gestaltAliasMgrPresent        0                /* True if the Alias Mgr is present */
  59.  
  60. #define gestaltAppleTalkVersion     'atlk'            /* appletalk version */
  61.  
  62. #define gestaltAUXVersion            'a/ux'            /* a/ux version, if present */
  63.  
  64. #define gestaltConnMgrAttr            'conn'            /* connection mgr attributes    */
  65. #define gestaltConnMgrPresent        0    
  66. #define gestaltConnMgrCMSearchFix    1                /* Fix to CMAddSearch?     */
  67.  
  68. #define gestaltCRMAttr                'crm '            /* comm resource mgr attributes */
  69. #define gestaltCRMPresent            0
  70.  
  71. #define    gestaltCTBVersion            'ctbv'            /* CommToolbox version */
  72.  
  73. #define gestaltDBAccessMgrAttr        'dbac'            /* Database Access Mgr attributes */
  74. #define gestaltDBAccessMgrPresent    0                /* True if Database Access Mgr present */
  75.  
  76. #define gestaltDITLExtAttr            'ditl'            /* AppenDITL, etc. calls from CTB */
  77. #define gestaltDITLExtPresent        0                 /* True if calls are present */
  78.  
  79. #define gestaltEasyAccessAttr        'easy'            /* Easy Access attributes */
  80. #define gestaltEasyAccessOff        0                /* if Easy Access present, but off (no icon) */
  81. #define gestaltEasyAccessOn            1                 /* if Easy Access "On" */
  82. #define gestaltEasyAccessSticky        2                /* if Easy Access "Sticky" */
  83. #define gestaltEasyAccessLocked        3                /* if Easy Access "Locked" */
  84.  
  85. #define gestaltEditionMgrAttr        'edtn'            /* Edition Mgr attributes */
  86. #define gestaltEditionMgrPresent    0                /* True if Edition Mgr present */
  87.  
  88. #define gestaltAppleEventsAttr        'evnt'            /* Apple Events attributes */
  89. #define gestaltAppleEventsPresent    0                /* True if Apple Events present */
  90.  
  91. #define gestaltFindFolderAttr        'fold'            /* FindFolder attributes */
  92. #define gestaltFindFolderPresent     0                /* True if FindFolder present */
  93.  
  94. #define gestaltFontMgrAttr            'font'            /* Font Mgr attributes */
  95. #define gestaltOutlineFonts         0                /* True if Outline Fonts supported */
  96.  
  97. #define gestaltFPUType                'fpu '            /* fpu type */
  98. #define gestaltNoFPU                0                /* no FPU */
  99. #define gestalt68881                1                /* 68881 FPU */
  100. #define gestalt68882                2                /* 68882 FPU */
  101. #define gestalt68040FPU             3                /* 68040 built-in FPU */
  102.  
  103. #define    gestaltFSAttr                'fs  '            /* file system attributes */
  104. #define    gestaltFullExtFSDispatching    0                /* has really cool new HFSDispatch dispatcher */
  105.  
  106. #define gestaltFXfrMgrAttr            'fxfr'            /* file transfer manager attributes */
  107. #define gestaltFXfrMgrPresent        0
  108.  
  109. #define gestaltHardwareAttr         'hdwr'            /* hardware attributes */
  110. #define gestaltHasVIA1                0                /* VIA1 exists */
  111. #define gestaltHasVIA2                1                /* VIA2 exists */
  112. #define gestaltHasASC                3                /* Apple Sound Chip exists */
  113. #define gestaltHasSCC                4                /* SCC exists */
  114. #define    gestaltHasSCSI                7                /* SCSI exists */
  115.  
  116. #define gestaltHelpMgrAttr            'help'            /* Help Mgr Attributes */
  117. #define gestaltHelpMgrPresent        0                /* true if help mgr is present */
  118.  
  119. #define gestaltKeyboardType         'kbd '            /* keyboard type */
  120. #define gestaltMacKbd                1
  121. #define gestaltMacAndPad            2
  122. #define gestaltMacPlusKbd            3
  123. #define gestaltExtADBKbd            4
  124. #define gestaltStdADBKbd            5
  125. #define gestaltPrtblADBKbd            6
  126. #define gestaltPrtblISOKbd            7
  127. #define gestaltStdISOADBKbd         8
  128. #define gestaltExtISOADBKbd         9
  129. #define    gestaltElmerKbd                10
  130. #define    gestaltElmerISOKbd            11
  131.  
  132. #define gestaltLowMemorySize        'lmem'            /* size of low memory area */
  133.  
  134. #define gestaltLogicalRAMSize        'lram'            /* logical ram size */
  135.  
  136. #define    gestaltMiscAttr                'misc'            /* miscellaneous attributes */
  137. #define    gestaltScrollingThrottle    0                /* true if scrolling throttle on */
  138. #define    gestaltSquareMenuBar        2                /* true if menu bar is square */
  139.  
  140. #define gestaltMMUType                'mmu '            /* mmu type */
  141. #define gestaltNoMMU                0                /* no MMU */
  142. #define gestaltAMU                    1                /* address management unit */
  143. #define gestalt68851                2                /* 68851 PMMU */
  144. #define gestalt68030MMU             3                /* 68030 built-in MMU */
  145. #define gestalt68040MMU             4                /* 68040 built-in MMU */
  146.  
  147. #define gestaltStdNBPAttr            'nlup'            /* standard nbp attributes */
  148. #define gestaltStdNBPPresent        0
  149.  
  150. #define    gestaltNotificationMgrAttr    'nmgr'           /* notification manager attributes */
  151. #define    gestaltNotificationPresent    0                /* notification manager exists */
  152.  
  153. #define gestaltNuBusConnectors        'sltc'            /* bitmap of NuBus connectors            <19> */
  154.  
  155. #define gestaltOSAttr                'os  '            /* o/s attributes */
  156. #define gestaltSysZoneGrowable        0                /* system heap is growable */
  157. #define gestaltLaunchCanReturn        1                /* can return from launch */
  158. #define gestaltLaunchFullFileSpec    2                /* can launch from full file spec */
  159. #define gestaltLaunchControl        3                /* launch control support available */
  160. #define gestaltTempMemSupport        4                /* temp memory support */
  161. #define gestaltRealTempMemory        5                /* temp memory handles are real */
  162. #define gestaltTempMemTracked        6                /* temporary memory handles are tracked */
  163. #define gestaltIPCSupport            7                /* IPC support is present */
  164. #define gestaltSysDebuggerSupport    8                /* system debugger support is present */
  165.  
  166. #define gestaltOSTable                'ostt'            /*  OS trap table base                   <18> */
  167. #define gestaltToolboxTable            'tbtt'            /*  Toolbox trap table base              <18> */
  168. #define gestaltExtToolboxTable        'xttt'            /*  Extended Toolbox trap table base     <18> */
  169.     
  170. #define gestaltLogicalPageSize        'pgsz'            /* logical page size */
  171.  
  172. #define gestaltPowerMgrAttr         'powr'            /* power manager attributes */
  173. #define gestaltPMgrExists            0
  174. #define gestaltPMgrCPUIdle            1
  175. #define gestaltPMgrSCC                2
  176. #define gestaltPMgrSound            3
  177.  
  178. #define    gestaltPPCToolboxAttr        'ppc '            /* PPC toolbox attributes */
  179.  
  180. /*
  181.  * PPC will return the combination of following bit fields.
  182.  * e.g. gestaltPPCSupportsRealTime +gestaltPPCSupportsIncomming + gestaltPPCSupportsOutGoing
  183.  * indicates PPC is cuurently is only supports real time delivery
  184.  * and both incoming and outgoing network sessions are allowed.
  185.  * By default local real time delivery is supported as long as PPCInit has been called.
  186.  */
  187. #define    gestaltPPCToolboxPresent              0X0000         /* PPC Toolbox is present  Requires PPCInit to be called */
  188. #define    gestaltPPCSupportsRealTime              0X1000        /* PPC Supports real-time delivery */
  189. #define    gestaltPPCSupportsStoreAndForward      0X2000        /* PPC Store and Forward  delivery */
  190. #define    gestaltPPCSupportsDontCare              0x4000         /* PPC Supports  Specification of Don't care */
  191. #define    gestaltPPCSupportsIncomming              0x0001         /* PPC will deny incomming network requests */
  192. #define gestaltPPCSupportsOutGoing              0x0002         /* PPC will deny outgoing network requests */ 
  193.  
  194. #define gestaltProcessorType        'proc'            /* processor type */
  195. #define gestalt68000                1
  196. #define gestalt68010                2
  197. #define gestalt68020                3
  198. #define gestalt68030                4
  199. #define gestalt68040                5
  200.  
  201. #define gestaltParityAttr            'prty'            /* parity attributes */
  202. #define gestaltHasParityCapability    0                /* has ability to check parity */
  203. #define gestaltParityEnabled        1                /* parity checking enabled */
  204.  
  205. #define gestaltQuickdrawVersion     'qd  '            /* quickdraw version */
  206. #define gestaltOriginalQD            0x000            /* original 1-bit QD            <3.2> */
  207. #define gestalt8BitQD                0x100            /* 8-bit color QD                <3.2> */
  208. #define gestalt32BitQD                0x200            /* 32-bit color QD                <3.2> */
  209.  
  210. #define gestaltPhysicalRAMSize        'ram '            /* physical RAM size */
  211.  
  212. #define gestaltPopupAttr            'pop!'            /* popup cdef attributes */
  213. #define gestaltPopupPresent            0
  214.  
  215. #define gestaltResourceMgrAttr        'rsrc'            /* Resource Mgr attributes */
  216. #define gestaltPartialRsrcs         0                /* True if partial resources exist */
  217.  
  218. #define gestaltScriptMgrVersion     'scri'            /* Script Manager version number    <08/05/89 pke> */
  219. #define gestaltScriptCount            'scr#'            /* number of active script systems    <08/05/89 pke> */
  220.  
  221. #define gestaltSerialAttr            'ser '            /* Serial attributes                    <19> */
  222. #define gestaltHasGPIaToDCDa        0                /* GPIa connected to DCDa                <19> */
  223. #define gestaltHasGPIaToRTxCa        1                /* GPIa connected to RTxCa clock input     <19> */
  224. #define gestaltHasGPIbToDCDb        2                /* GPIb connected to DCDb                <19> */
  225.  
  226. #define gestaltSoundAttr            'snd '            /* sound attributes */
  227. #define gestaltStereoCapability     0                /* sound hardware has stereo capability */
  228. #define gestaltStereoMixing         1                /* stereo mixing on external speaker */
  229. #define gestaltSoundIOMgrPresent     3                /* The Sound I/O Manager is present   */
  230. #define gestaltSoundInputPresent     4                /* Sound Input hardware is present   */
  231.  
  232. #define    gestaltStandardFileAttr        'stdf'            /* Standard File attributes */
  233. #define    gestaltStandardFile58        0                 /* True if selectors 5-8 (StandardPutFile-CustomGetFile) are supported */
  234.  
  235. #define gestaltTextEditVersion        'te  '            /* TextEdit version number            <08/05/89 pke> */
  236. #define gestaltTE1                    1                /* TextEdit in MacIIci ROM <8Aug89smb> */
  237. #define gestaltTE2                    2                /* TextEdit with 6.0.4 Script Systems on MacIIci (Script bug fixes for MacIIci) <8Aug89smb> */
  238. #define gestaltTE3                    3                /* TextEdit with 6.0.4 Script Systems all but MacIIci <8Aug89smb> */
  239.  
  240. #define gestaltTE4                    4                /* TextEdit in Big Bang <8Aug89smb> */
  241.  
  242. #define gestaltTermMgrAttr            'term'            /* terminal mgr attributes    */
  243. #define gestaltTermMgrPresent        0                
  244.  
  245. #define gestaltTimeMgrVersion        'tmgr'            /* time mgr version */
  246. #define gestaltStandardTimeMgr        1                /* standard time mgr is present */
  247. #define gestaltRevisedTimeMgr        2                /* revised time mgr is present */
  248. #define gestaltExtendedTimeMgr        3                /* extended time mgr is present */
  249.  
  250. #define gestaltVMAttr                'vm  '            /* virtual memory attributes */
  251. #define gestaltVMPresent            0                /* true if virtual memory is present */
  252.  
  253. /*************************
  254.  *    Info-only selectors
  255.  ************************/
  256. #define gestaltMachineType            'mach'            /* machine type */
  257. #define gestaltClassic                1
  258. #define gestaltMacXL                2
  259. #define gestaltMac512KE             3
  260. #define gestaltMacPlus                4
  261. #define gestaltMacSE                5
  262. #define gestaltMacII                6
  263. #define gestaltMacIIx                7
  264. #define gestaltMacIIcx                8
  265. #define gestaltMacSE030             9
  266. #define gestaltPortable             10
  267. #define gestaltMacIIci                11
  268. #define    gestaltMacIIfx                13
  269. #define    gestaltMacClassic            17
  270. #define    gestaltMacIIsi                18
  271. #define    gestaltMacLC                19
  272.  
  273. #define gestaltMachineIcon            'micn'            /* machine icon */
  274.  
  275. #define gestaltROMSize                'rom '            /* rom size */
  276. #define gestaltROMVersion            'romv'            /* rom version */
  277. #define gestaltSystemVersion        'sysv'            /* system version*/
  278.  
  279. #endif    /*GESTALTEQU*/
  280.  
  281.